<?php
/**
* 名称：帮助信息模型类。
* 描述：帮助信息模块业务逻辑的相关程式。
*/
final class Model_Manual extends Model{
    /**
    * 表单字段名堆栈。
    * @var    array
    * @access protected
    */
    Public static $FormLabel=array(
        'title','content','class'
    );

    /**
    * 描述：OUI数据栈。
    * @static
    * @access public
    * @param  int   $type     必选 数据类型。
    * @param  int   $position 必选 位置码。
    * @param  int   $field    必选 字段名。
    * @return mixed
    */
    Public static function OUI_Breadcrumb($position,$field=NULL){
        $data=array(
            1=>array(
                'text'=>'其它设置',
                'link'=>Route::MakeHyperlink(':gather')
            ),
            2=>array(
                'text'=>'帮助信息',
                'link'=>Route::MakeHyperlink(':manual_self::listview')
            ),
            'add'=>array(
                'text'=>'添加信息',
                'link'=>Route::MakeHyperlink(':manual_self::add')
            ),
            'edit'=>array(
                'text'=>'修改信息',
                'link'=>Route::MakeHyperlink(':manual_self::edit')
            )
        );
        return array_key_exists($field,$data[$position]) ? $data[$position][$field]:$data[$position];
    }

    /**
    * 描述：获取类别名称。
    * @static
    * @access public
    * @param  int    $class 必选 类别标识号。
    * @return array
    */
    public static function GetClassesName($class){
        $result1=self::$Database->GetRow(
            'SELECT name,parent FROM '.self::$Database->Table('manual_class').' WHERE id=?',
            array($class)
        );
        $name=$result1['name'];
        //~
        if((int)$result1['parent']>0){
            $result2=self::$Database->GetRow(
                'SELECT name,parent FROM '.self::$Database->Table('manual_class').' WHERE id=?',
                array($result1['parent'])
            );
            $name=($result2['name'].'/').$name;
        }
        //~
        if(isset($result2)&&(int)$result2['parent']>0){
            $result3=self::$Database->GetRow(
                'SELECT name,parent FROM '.self::$Database->Table('manual_class').' WHERE id=?',
                array($result2['parent'])
            );
            $name=($result3['name'].'/').$name;
        }
        //~
        return $name;
    }

    /**
    * 描述：获取全部类别数据。
    * @static
    * @access public
    * @return array
    */
    public static function GetClassData(){
        $data=self::$Database->GetAll(
            'SELECT * FROM '.self::$Database->Table('manual_class').' WHERE parent is NULL ORDER BY id ASC'
        );
        //~
        foreach($data as &$item){
            $item['data']=self::$Database->GetAll(
                'SELECT * FROM '.self::$Database->Table('manual_class').' WHERE parent=? ORDER BY id ASC',
                array($item['id'])
            );
            foreach($item['data'] as &$subItem){
                $subItem['data']=self::$Database->GetAll(
                    'SELECT * FROM '.self::$Database->Table('manual_class').' WHERE parent=? ORDER BY id ASC',
                    array($subItem['id'])
                );
            }
        }
        return $data;
    }
}